Software estimation is a major issue in software project management faced by many organizations. Software estimation involves estimation of resource, such as man hours and computation resources that may be required to develop particular software. The software estimation problem is highly complex, particularly since the relationships between software output metrics and contributing factors generally exhibit strong, complex, non-linear characteristics. Few software estimation models have been developed in the past to facilitate monitoring, control, and assessment of software projects.